1. Field of the Invention
The present invention relates generally to the field of wireless communication technology. In one aspect, the present invention relates to an improved architecture and partitioning of resources in a wireless or mobile communication device.
2. Description of the Related Art
In recent years, wireless communications devices have become increasingly popular. A cellular telephone is one example of a wireless communications device, though such devices can take on various forms other than a cellular telephone, including a computer (e.g., a PDA or notebook computer) with mobile communication capabilities. Existing wireless communications devices, such as mobile or cellular phone devices, are often constructed as a combination of a modem device and an applications processor that are implemented with multiple CPUs. These wireless devices must be able to communicate with other wireless devices using established network communications protocols, such as defined by the Open Systems Interconnection (OSI) reference model, which sets forth a multi-layer communications networking framework for implementing data transfer protocols. Specific communication tasks between wireless devices are primarily controlled at the bottom three layers (physical, data link and network) in the OSI reference model, while the layers above (L4 through L7) primarily relate to application programs that are built using the services provided by the network.
Wireless communications devices having a layered architecture use the first layer (referred to as the physical layer (PHY) or L1 or DSP) for signal processing functions, such as error checking, modulating, demodulating, scrambling, etc., that are used for controlling the actual transmission of a data-carrying signal across the transmission medium. Signals or messages provided by the physical layer are often referred to as primitive signals, as they do not require interaction with higher levels for detection. Thus, the L1 layer (physical layer) sits close to the RF (radio frequency) A/D and D/A converters in the analog front end, and requires heavy signal processing (multiply and accumulate—MAC functions). The processing tasks at the L1 layer are time-sensitive processes, in the sense that a delay in servicing the L1 processing task by a multi-tasking host processor can cause the communication connection to be dropped. However, these L1 processing tasks do not consume significant memory size for software code, because it is made of few, repetitive, and computationally intensive, small kernels for data analysis and signal manipulation.
The second layer (referred to as layer 2 or L2) processes digital data received by the physical layer to identify information contained therein, and is responsible for data framing and management functions. The third layer (referred to as layer 3 or L3) is responsible for overall coordination of all systems along the communications path. The L2 and L3 layers typically consume less computational bandwidth and processing power than the L1 layer, and do not involve time-critical processes. However, the L2 and L3 layers have more memory intensive requirements, in that these layers contain code that handles the communication protocol made of a complex state machine.
Conventional wireless communications solutions use a modem device to transmit and receive computer data wirelessly. Some real-time functions of traditional hardware modems are being implemented as software routines, due to, among other things, less expensive manufacturing of such modems and their increased flexibility. These software routines are typically executed on a host computer running under a multi-tasking operating system (OS), such as the Microsoft Windows® OS. For example, a conventional solution is to use a microcontroller unit (MCU) and/or a digital signal processor (DSP) device to provide the wireless modem function, and to use one or more additional CPUs to provide the applications processor function. With such conventional solutions, the wireless modem unit is used to implement the L1, L2 and L3 processes. An example would be the Texas Instruments TBB2100 single-chip system which uses a microcontroller unit (MCU) and a digital signal processor (DSP) device to provide the wireless modem function, and requires two additional CPUs to provide the applications processor function. Another example of such a conventional solution is depicted in FIG. 1, which illustrates with a hardware block diagram how the lower OSI layers are implemented with a conventional wireless communication solution.
As shown in FIG. 1, the signaling protocol and application layers 10-14 are performed by a multi-CPU device 1 that includes a baseband processing section 20 and an applications processing (AP) section 30. In particular, the baseband processing section 20 uses a DSP 21 and MCU 23, each having a large embedded SRAM (e.g., 512KB SRAM 24) and a large external flash memory (e.g., 4 MB flash memory 25) and each accessing a shared memory 22. The applications processing section 30 uses one or more CPUs to handle the application layer processes using a large (e.g., 32 MB) SRAM 31 and flash memory 32. In this configuration, the DSP 21 and/or MCU 23 perform all of the signaling protocol layers (L1/L2/L3) within the baseband processing section 20, while the applications processor 30 performs any application layer processes. This allocation of processing functions is indicated by the partition line 15 (which separates the DSP functions 10 processed by DSP 21 from the L1/L2/L3 functions 11-13 processed by the MCU 23) and the partition line 16 (which separates the L1/L2/L3 functions 11-13 processed by the MCU 23 from the application program functions 14 processed by the AP 30). There are a number of drawbacks and limitations that result from such conventional solutions, including but not limited to high manufacturing costs for providing multiple CPUs with large flash and embedded SRAM memories and requiring use of a shared memory. In addition, there can be timing related connection problems created by grouping all of the signal protocol layers on the same MCU, regardless of the time criticality of the individual layer processes. And by lumping all of the signaling protocol layers (L1/L2/L3) in the baseband processing section 20, conventional solutions make inefficient use of system resources, have unnecessarily high power consumption and/or may be susceptible to security attacks.
Therefore, a need exists for an improved wireless communications device and methodology which efficiently implements the wireless communication functions with fewer component CPU and memory parts, lower cost, fewer connection drops, more efficient use of system resources, reduced power and/or improved security. Further limitations and disadvantages of conventional systems will become apparent to one of skill in the art after reviewing the remainder of the present application with reference to the drawings and detailed description which follow.